project-knowledge-bootstrap
Scan a Salesforce project structure and populate .setup-agents/project-knowledge.md with architecture decisions, naming conventions, label language, and…
Skill by jterratsdev
Install
Works with Claude Code, Claude apps, Codex, Cursor, Gemini CLI, GitHub Copilot, VS Code, OpenCode, Goose, Windsurf. Read the repository before you give any tool access to your data.
npx agentmarket install skill/jterratsdev-project-knowledge-bootstrap
Asks which of your tools to add it to (Claude Code, Codex, Cursor, VS Code, Windsurf, Gemini CLI, Claude Desktop) and shows the change first. See https://agentmart.dev/cli.
Get the weekly diff
The weekly diff: one email a week with new agent tools, notable updates and grade changes, plus security alerts for tools you follow. Double opt-in, one-click unsubscribe.
About
Use cases: sales, productivity
Reviews
Write a reviewNo reviews yet. Installed it? Reviews come from verified installers only. How reviews work
Permissions
What this skill can do and what it asks for, from its SKILL.md. Checked Oct 25, 2026.
- Tools
- No tools found
- Secrets
- None asked for
- Install scripts
- None found
Network hosts it talks to 1
codeload.github.com· found in install command
Files it touches
~/.claude/skills/project-knowledge-bootstrap
What's inside
- Skill name
project-knowledge-bootstrap- Description
- Scan a Salesforce project structure and populate .setup-agents/project-knowledge.md with architecture decisions, naming conventions, label language, and codebase map. USE FOR: first architect task, empty project-knowledge sections, codebase onboarding, naming convention detection, label language detection.
- License
- BSD-3-Clause
- Instructions
- 209 lines in SKILL.md · view on GitHub
Files (1)
- SKILL.md
SKILL.md (first lines)
# Project Knowledge Bootstrap Populates the `.setup-agents/project-knowledge.md` contract by scanning the project structure. Run this skill when `project-knowledge.md` exists but has empty sections. ## Trigger - The architect role starts its first task and `project-knowledge.md` has empty sections. - Any agent detects `force-app/` exists but `## Codebase Map` is blank. ## Protocol ### 1. Detect Project Type ```bash # Check for Salesforce project markers ls force-app/main/default 2>/dev/null && echo "SALESFORCE" ls sfdx-project.json 2>/dev/null && echo "SFDX" ls package.xml 2>/dev/null && echo "PACKAGE_XML" ``` ### 2. Scan Codebase Structure ```bash # Directory tree (depth 3 for overview) find force-app -type d -maxdepth 3 | sort # Count artifacts by type echo "=== Apex Classes ===" && ls force-app/main/default/classes/*.cls 2>/dev/null | wc -l echo "=== Triggers ===" && ls force-app/main/default/triggers/*.trigger 2>/dev/null | wc -l echo "=== LWC ===" && ls force-app/main/default/lwc/ 2>/dev/null | wc -l echo "=== Flows ===" && ls force-app/main/default/flows/*.flow-meta.xml 2>/dev/null | wc -l echo "=== Objects ===" && ls force-app/main/default/objects/ 2>/dev/null | wc -l echo "=== Perm Sets ===" && ls force-app/main/default/permissionsets/*.permissionset-meta.xml 2>/dev/null | wc -l ``` ### 3. Detect Naming Conventions For each artifact type, sample 3-5 existing files and infer the pattern: ```bash # Apex class naming ls force-app/main/default/classes/*.cls 2>/dev/null | head -5 # Test class naming (suffix? prefix? folder?) ls force-app/main/default/classes/*Test*.cls 2>/dev/null | head -5 ls force-app/main/default/classes/*_Test*.cls 2>/dev/null | head -5 # Trigger naming ls force-app/main/default/triggers/*.trigger 2>/dev/null | head -5 # LWC naming ls force-app/main/default/lwc/ 2>/dev/null | head -5 # Custom object naming ls force-app/main/default/objects/ 2>/dev/null | grep "__c" | head -5 # Flow naming ls force-app/main/default/flows/*.flow-meta.xml 2>/dev/null | head -5 ``` **Rules for inference:** - If a prefix is consistent across 80%+ of files, record it (e.g., `APP_ClassName`). - If test classes use a suffix, record it (e.g., `*Test` vs `*_Test`). - If no clear pattern emerges, leave the convention cell **empty** and add a note: "No convention detected — ask user before creating new artifacts." ### 4. Detect Label Language ```bash # Sample custom field labels from object metadata grep -h "<label>" force-app/main/default/objects/*/fields/*.field-meta.xml 2>/dev/null | head -10 # Sample custom object labels grep -h "<label>" force-app/main/default/objects/*/*.object-meta.xml 2>/dev/null | head -5 # Sample flow labels grep -h "<label>" force-app/main/default/flows/*.flow-meta.xml 2>/dev/null | head -5 ``` **Language detection heuristic:** - If labels contain accented characters (á, é, ñ, ü) or non-ASCII → likely Spanish/Portuguese/French. - If labels are CamelCase English words → English. - If mixed → record "Mixed — confirm with user." - Record both the label language AND description language (they may differ). ### 5. Identify Architecture Patterns ```bash # Look for trigger handler pattern grep -rl "TriggerHandler\|ITriggerHandler\|TriggerDispatcher" force-app/ 2>/dev/null | head -3 # Look for data access layer grep -rl "Selector\|Repository\|DataAccess\|DynamicQueries\|DatabaseService" force-app/ 2>/dev/null | head -3 # Look for service layer grep -rl "Service\b" force-app/main/default/classes/ 2>/dev/null | grep -v Test | head -5 # Look for async patterns grep -rl "implements Queueable\|@future\|implements Schedulable\|implements Database.Batchable" force-app/ 2>/dev/null | head -5 # Look for Platform Events ls force-app/main/default/platformEventChannelMembers/ 2>/dev/null ls force-app/main/default/customMetadata/ 2>/dev/null | head -5 ``` ### 6. Build Documentation Index Populate `.setup-agents/doc-index.md` (a separate lightweight file agents read to locate docs). ```bash # Find documentation files and directories ls docs/ 2>/dev/null && echo "=== docs/ exists ===" ls docs/adr/ 2>/dev/null && echo "=== ADRs found ===" find . -maxdepth 2 -name "README*" -o -name "CHANGELOG*" -o -name "CONTRIBUTING*" | sort find . -maxdepth 3 -name "*.md" -path "*/docs/*" | sort | head -20 ls wiki/ 2>/dev/null || ls .wiki/ 2>/dev/null || echo "No local wiki" find . -maxdepth 2 -name "decisions" -type d 2>/dev/null find . -maxdepth 2 -name "runbook*" -o -name "playbook*" | head -5
From jterratsdev/smart-deployment, BSD-3-Clause.
More from jterratsdev/smart-deployment
- 0.570score
elements-sync
jterratsdev
Create and update Requirements and Stories in Elements.cloud from story maps, backlog documents, or free-form descriptions.
SkillAFreshness: AClaude Code +9 - 0.565score
sf-code-analyzer
jterratsdev
Run static code analysis on Salesforce projects using sf code-analyzer.
SkillAFreshness: AClaude Code +9 - 0.565score
qa-evidence-pack
jterratsdev
Build reviewable QA evidence packs that map acceptance criteria to observable outcomes, command results, screenshots, traces, videos, API contracts…
SkillAFreshness: AClaude Code +9 - 0.565score
record-adr
jterratsdev
Record an Architecture Decision Record (ADR).
SkillAFreshness: AClaude Code +9 - 0.565score
refine-story-functionally
jterratsdev
ADP Phase 1 — functional story refinement.
SkillAFreshness: AClaude Code +9 - 0.565score
refine-story-technically
jterratsdev
ADP Phase 2 — technical story refinement.
SkillAFreshness: AClaude Code +9 - 0.565score
sf-deploy
jterratsdev
Deploy and validate Salesforce metadata using @jterrats/profiler for complete profile retrieval and @jterrats/smart-deployment for dependency-aware wave…
SkillAFreshness: AClaude Code +9 - 0.565score
backlog-sync
jterratsdev
Push user stories from story maps to issue trackers.
SkillAFreshness: AClaude Code +9 - 0.565score
org-health-assessment
jterratsdev
Assess the health of a Salesforce org across security, automation, permissions, data model, schema limits, license utilization, and large data volumes —…
SkillAFreshness: AClaude Code +9 - 0.565score
prompt-registry
jterratsdev
Maintain the .generated-prompts/ register: read before creating any artifact to infer project conventions, write/update after creation.
SkillAFreshness: AClaude Code +9 - 0.564score
transcription-evidence
jterratsdev
Transcribe audio/video files and record as workflow evidence
SkillAFreshness: AClaude Code +9 - 0.561score
generate-rom
jterratsdev
Produce a Rough Order of Magnitude (ROM) effort baseline for a story or epic and record it against the local backlog task.
SkillAFreshness: AClaude Code +9
Signals
- Stars
- 0
- Forks
- 0
- Open issues
- 14
- Last commit (this folder)
- Aug 5, 2026 (2 months ago)
- Last release
- Sep 29, 2026 (29 days ago)
From GitHub (fetched Oct 24, 2026).
Details
- License
- BSD-3-Clause
- Repository
- github.com/jterratsdev/smart-deployment
- First seen
- Oct 24, 2026
- Last checked
- Oct 24, 2026
- Source
- GitHubgithub-graphql
More from jterratsdev
- 0.570score
elements-sync
jterratsdev
Create and update Requirements and Stories in Elements.cloud from story maps, backlog documents, or free-form descriptions.
SkillAFreshness: AClaude Code +9 - 0.565score
prompt-registry
jterratsdev
Maintain the .generated-prompts/ register: read before creating any artifact to infer project conventions, write/update after creation.
SkillAFreshness: AClaude Code +9 - 0.565score
sf-code-analyzer
jterratsdev
Run static code analysis on Salesforce projects using sf code-analyzer.
SkillAFreshness: AClaude Code +9 - 0.565score
org-health-assessment
jterratsdev
Assess the health of a Salesforce org across security, automation, permissions, data model, schema limits, license utilization, and large data volumes —…
SkillAFreshness: AClaude Code +9 - 0.565score
qa-evidence-pack
jterratsdev
Build reviewable QA evidence packs that map acceptance criteria to observable outcomes, command results, screenshots, traces, videos, API contracts…
SkillAFreshness: AClaude Code +9 - 0.565score
record-adr
jterratsdev
Record an Architecture Decision Record (ADR).
SkillAFreshness: AClaude Code +9
Cite this page
project-knowledge-bootstrap skill. Agent Mart. https://agentmart.dev/skills/jterratsdev-project-knowledge-bootstrap (last updated 2026-10-24)