skills/finish-branch/SKILL.md
<agentic_guild_skill> <skill_definition> <name>finish-branch</name> <description>Handles the completion of a branch, PR creation, and continuous CI/Bot feedback loops.</description> </skill_definition> <state_machine_directives> 1. NEVER execute more than ONE <step> per response. 2. When you see [PAUSE], you MUST completely stop generating text and wait for the user to reply. 3. CYCLIC EXECUTION: You are permitted to loop backward between steps if the workflow dictates
npx skillsauth add jdugarte/agentcore skills/finish-branchInstall this skill globally with one command. Works with Claude Code, Cursor, and Windsurf.
3 of 9 scanners reported clean
Some scanners were skipped, did not run, or reported a non-clean status. Review each row below.
<agentic_guild_skill> <skill_definition> <name>finish-branch</name> <description>Handles the completion of a branch, PR creation, and continuous CI/Bot feedback loops.</description> </skill_definition>
<state_machine_directives> 1. NEVER execute more than ONE <step> per response. 2. When you see [PAUSE], you MUST completely stop generating text and wait for the user to reply. 3. CYCLIC EXECUTION: You are permitted to loop backward between steps if the workflow dictates it. 4. Always end your response by summarizing our progress in a conversational manner and gently inviting the user to proceed. </state_machine_directives>
<hard_constraints>
NEVER use any tool to execute git commit, git push, or git merge. These commands are STRICTLY FORBIDDEN.
When a commit is appropriate, output a suggested message as a plain-text code block only. The user runs all git commands themselves.
</hard_constraints>
<pre_flight>
<directive>Before executing the workflow, verify the necessary context exists.</directive>
<check>Verify docs/core/deterministic_coding_standards.md, docs/core/SYSTEM_ARCHITECTURE.md, and docs/core/SPEC.md exist.</check>
<action>If they are missing, pause our work and gently let the user know we need these files to start. Offer to gracefully initialize the project templates for them. If the user says yes, run sync.sh (or equivalent) if available; otherwise create minimal placeholders from EXPECTED_PROJECT_STRUCTURE. Do NOT hallucinate contents without user confirmation.</action>
</pre_flight>
<phase id="1" name="Interactive Local Review">
<step id="1.1">
<action>Use the `view_file` tool to read and follow `.cursor/skills/code-review/SKILL.md` until it yields. Execute the full skill with its own PAUSEs; then return to finish-branch.</action>
<yield>[PAUSE - AWAIT CODE REVIEW COMPLETION]</yield>
</step>
</phase>
<phase id="2" name="Compliance & Traceability Audit">
<step id="2.1">
<action>
Use the `view_file` tool to read `docs/core/deterministic_coding_standards.md`.
Analyze the branch diff to check for:
1. **Complexity & Length**: Cyclomatic complexity > 10 or functions > 60 lines.
2. **Traceability**: New test blocks missing `[REQ-ID]` tags referencing `docs/core/SPEC.md`.
3. **Domain Primitives (CbC)**: New or modified code using raw primitive types (String, Integer, raw object/hash) for domain concepts — any value with business meaning such as identifiers, contact data, measurements, or status enums. These should be Value Objects (Ruby) or Branded Types (TypeScript).
If NOT in Stealth Mode: Check all 3 categories (Complexity, Traceability, Domain Primitives).
If in Stealth Mode: Skip checking for Traceability (`[REQ-ID]`) entirely. Only check Complexity and Domain Primitives.
</action>
<yield>
[PAUSE - REPORT FINDINGS]
Conversationally present the findings of the audit. Explicitly ask the user if they want you to fix any violations before proceeding. (Remember: if in stealth mode, you should not be reporting or offering to fix `[REQ-ID]` tags).
AWAIT COMMAND TO FIX OR PROCEED.
</yield>
</step>
<step id="2.2">
<action>
If the user requested fixes in Step 2.1, implement the necessary changes:
- (If NOT in Stealth Mode) Add missing `[REQ-ID]` tags to test blocks.
- Refactor functions exceeding 60 lines or cyclomatic complexity > 10.
- Wrap domain concepts in Value Objects (Ruby) or Branded Types (TypeScript) to replace raw primitive usage.
Run local tests to verify all changes pass.
</action>
<yield>
[PAUSE - AWAIT COMMAND]
If fixes were applied: Inform the user that all compliance and CbC fixes have been applied. Ask if they want to review the changes or proceed to the next phase.
If the user declined to fix reported violations: Acknowledge their choice and note which violations remain outstanding. Ask if they are ready to proceed to the next phase.
If no violations were found: Confirm the audit is clean and ask if they are ready to proceed to the next phase.
</yield>
</step>
</phase>
<phase id="3" name="Remote Async Review (The BugBot Loop)">
<step id="3.1">
<action>
Instruct the user to commit their code, push to the remote branch, and wait for CI feedback.
Update `.agenticguild/current_state.md` to indicate waiting status (e.g. in `<execution_context>`). Retain `<active_task_pointer>` unchanged so status-check and resume still know which task is active.
</action>
<yield>
[PAUSE - AWAIT CI STATUS]
Conversationally ask the user to paste any CI/BugBot errors here, or confirm if CI is passing.
</yield>
</step>
<step id="3.2">
<action>
Parse the user's input from Step 3.1 to determine their intent:
- If they provided CI/BugBot errors: Analyze the errors, write the fixes, and run local tests.
- If they confirmed that CI is passing: Skip any fixes.
</action>
<yield>
[PAUSE - AWAIT COMMAND]
If fixes were applied: Let the user know the fixes are applied and that you'd like them to re-verify CI status (Silently update state to 3.1).
If CI is green: Let the user know we're ready to proceed to the final spackle and PR phase, and ask if they want to move forward.
</yield>
</step>
</phase>
<phase id="4" name="Final Spackle & PR">
<step id="4.1">
<action>
If NOT in Stealth Mode: Use the `view_file` tool to read and follow `.cursor/skills/sync-docs/SKILL.md` until it yields. The skill analyzes the branch diff and updates any docs that need changes.
If in Stealth Mode: Skip `sync-docs` entirely, as automatically modifying architectural documents violates stealth mode constraints.
</action>
<yield>[PAUSE - AWAIT CONFIRMATION TO PROCEED]</yield>
</step>
<step id="4.2">
<action>
If NOT in Stealth Mode: Use the `view_file` tool to read and follow `.cursor/skills/harvest-rules/SKILL.md` until it yields. Then return to finish-branch.
If in Stealth Mode: Skip `harvest-rules` entirely, as writing tracking rules inferred from Git diffs into tracked files violates stealth mode constraints.
</action>
<yield>[PAUSE - AWAIT CONFIRMATION TO PROCEED]</yield>
</step>
<step id="4.3">
<action>
If NOT in Stealth Mode: Check if user-facing changes exist; if so, ensure `CHANGELOG.md` is updated. Use the `view_file` tool to read the active session file (if any) for `<roadmap_item>`. If this branch corresponds to a roadmap item, update `docs/ROADMAP.md`: move the item to Done, add today's date. If unclear, ask the user which roadmap item (if any) this branch completes. Remind the user to commit `docs/ROADMAP.md` and `CHANGELOG.md` if they were updated.
If in Stealth Mode: Do NOT modify or remind the user about `CHANGELOG.md` or `docs/ROADMAP.md` to avoid altering the external team's tracked documentation.
Then (in all modes): use the `view_file` tool to read and follow `.cursor/skills/pr-description/SKILL.md` until it yields.
</action>
<yield>[PAUSE - AWAIT CONFIRMATION]</yield>
</step>
<step id="4.4">
<action>
If NOT in Stealth Mode: The branch is finished and task knowledge has been synced to the docs (sync-docs and harvest-rules). Conversationally tell the user that.
If in Stealth Mode: Conversationally tell the user the PR is ready (remember sync-docs and harvest-rules were intentionally skipped).
Then (in all modes): Ask: "Would you like me to clear the active task from memory? I'll set the active task to none and archive the session file to `.agenticguild/completed_sessions/` so it's no longer the current task — you can delete that folder or file later if you don't need the record. Reply yes to clear and archive, or no to leave it as-is for now."
</action>
<yield>[PAUSE - AWAIT USER CONFIRMATION TO CLEAR TASK FROM MEMORY]</yield>
</step>
<step id="4.5">
<action>
Parse the user's reply. If they confirmed (e.g. "yes", "clear", "archive"): Read `.agenticguild/current_state.md` to get `<active_task_pointer>`. If the pointer contains a session filename (e.g. `task_foo.md`): Create `.agenticguild/completed_sessions/` if it does not exist (e.g. run `mkdir -p .agenticguild/completed_sessions`). Move the session file from `.agenticguild/active_sessions/` to `.agenticguild/completed_sessions/` with a date suffix in the filename (e.g. `task_foo_YYYY-MM-DD.md`). Then update `.agenticguild/current_state.md`: set `<active_task_pointer>` to `[NONE]` and `<execution_context>` to `<active_skill>[NONE]</active_skill>`, `<current_phase>[NONE]</current_phase>`, `<current_step>[NONE]</current_step>`. Confirm to the user that the task was cleared and the session file was archived. If the pointer was already [NONE] or the session file was missing, just update current_state to [NONE] and confirm. If they declined (e.g. "no", "keep"): Acknowledge; no changes. The session stays in active_sessions and the pointer unchanged; they can clear later via status-check or by running finish-branch again.
</action>
<yield>[PAUSE - FINISH-BRANCH COMPLETE]</yield>
</step>
</phase>
</workflow>
</agentic_guild_skill>data-ai
<agentic_guild_skill> <skill_definition> <name>update-agentic-guild</name> <description>Intelligently synchronizes and updates agentic:guild OS components (skills, rules, templates) from the global repository, using AI to merge changes gracefully. For projects that already have agentic:guild installed, this skill replaces running sync.sh manually.</description> </skill_definition> <state_machine_directives> 1. NEVER execute more than ONE <step> per response. 2. When you se
development
<agentic_guild_skill> <skill_definition> <name>sync-docs</name> <description>Keeps project docs in sync with branch changes and with task memory. Uses two inputs: (1) the branch diff — to infer code/schema-driven doc updates; (2) the active task session file when present — semantically analyzed so domain, decisions, data semantics, and rule-worthy content are pushed to the right docs. Does not dump raw session content; synthesizes and places knowledge by type.</description> </skill_d
tools
<agentic_guild_skill> <skill_definition> <name>status-check</name> <description>Rehydrates project context and acts as the GPS for agentic:guild execution state.</description> </skill_definition> <state_machine_directives> 1. NEVER generate or modify application code during this skill. 2. Your ONLY job is diagnosis and context rehydration. </state_machine_directives> <hard_constraints> NEVER use any tool to execute `git commit`, `git push`, or `git merge`. These co
development
<agentic_guild_skill> <skill_definition> <name>start-task</name> <description>Initiates the process of building a new feature, bugfix, refactor, or chore. Enforces strict QA discovery, implementation planning, and TDD.</description> </skill_definition> <state_machine_directives> 1. NEVER execute more than ONE <step> per response. 2. When you see [PAUSE], you MUST completely stop generating text and wait for the user to reply. 3. Always end your response by summarizing