Skip to content

chore: add research-link skill, rename to SKILL.md#101

Merged
Aureliolo merged 2 commits intomainfrom
chore/add-research-link-skill
Mar 5, 2026
Merged

chore: add research-link skill, rename to SKILL.md#101
Aureliolo merged 2 commits intomainfrom
chore/add-research-link-skill

Conversation

@Aureliolo
Copy link
Copy Markdown
Owner

Summary

  • Adds /research-link skill for researching external links, tools, articles, and concepts against the ai-company project. Accepts URLs, tool names, pasted content, or concept descriptions and produces decision-oriented assessments (USE/ADAPT/REPLACE/RETHINK/LATER/SKIP verdicts).
  • Renames all skill.md files to uppercase SKILL.md for cross-platform compatibility — lowercase silently fails on case-sensitive filesystems (Linux/macOS). See anthropics/skills#314.

What the skill does

  1. Fetches content (with paywall fallback via search)
  2. Extracts core ideas, tools, and patterns
  3. Cross-references against DESIGN_SPEC.md, source code, CLAUDE.md, and memory
  4. Produces a verdict table with concrete recommendations
  5. Asks user how to proceed (save to memory, create issues, explore deeper, etc.)
  6. Maintains a running research log in project memory

Test plan

  • Verify /research-link shows up in skill list
  • Test with a URL (e.g., a GitHub repo README)
  • Test with a paywalled URL (should fall back to search)
  • Test with a tool name (e.g., "hologram-cognitive")
  • Verify existing skills (/aurelio-review-pr, /post-merge-cleanup) still load after rename
  • Test on Linux/macOS to confirm SKILL.md loads correctly

🤖 Generated with Claude Code

- Add /research-link skill for evaluating external links, tools, and
  concepts against the ai-company project
- Rename all skill.md files to uppercase SKILL.md for cross-platform
  compatibility (case-sensitive filesystems require uppercase)

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Copilot AI review requested due to automatic review settings March 5, 2026 07:04
@coderabbitai
Copy link
Copy Markdown

coderabbitai bot commented Mar 5, 2026

Caution

Review failed

The pull request is closed.

ℹ️ Recent review info
⚙️ Run configuration

Configuration used: Organization UI

Review profile: ASSERTIVE

Plan: Pro

Run ID: 2c2ecf75-7243-4c29-8114-ef84df43987d

📥 Commits

Reviewing files that changed from the base of the PR and between b890545 and a20d400.

📒 Files selected for processing (3)
  • .claude/skills/aurelio-review-pr/SKILL.md
  • .claude/skills/post-merge-cleanup/SKILL.md
  • .claude/skills/research-link/SKILL.md

📝 Walkthrough

Summary by CodeRabbit

  • Documentation
    • Added comprehensive documentation for the Research Link skill, including workflow phases, information extraction guidelines, assessment verdicts, and user interaction patterns for handling external content integration.

Walkthrough

Introduces a new skill documentation file for "Research Link" under .claude/skills/research-link/. The file defines a phase-driven workflow for processing external content, including input identification, idea extraction, project mapping, assessment with standardized verdicts (USE, ADAPT, REPLACE, RETHINK, LATER, SKIP), and structured user interaction patterns.

Changes

Cohort / File(s) Summary
Research Link Skill Documentation
.claude/skills/research-link/SKILL.md
New skill specification defining workflow phases for handling external research content, verdict rules, data structure requirements, source handling protocols, and memory persistence actions.

Estimated code review effort

🎯 3 (Moderate) | ⏱️ ~20 minutes

✨ Finishing Touches
🧪 Generate unit tests (beta)
  • Create PR with unit tests
  • Post copyable unit tests in a comment
  • Commit unit tests in branch chore/add-research-link-skill

Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❤️ Share

Comment @coderabbitai help to get the list of available commands and usage tips.

@github-actions
Copy link
Copy Markdown
Contributor

github-actions bot commented Mar 5, 2026

Dependency Review

✅ No vulnerabilities or license issues or OpenSSF Scorecard issues found.

Scanned Files

None

@gemini-code-assist
Copy link
Copy Markdown
Contributor

Summary of Changes

Hello, I'm Gemini Code Assist1! I'm currently reviewing this pull request and will post my feedback shortly. In the meantime, here's a summary to help you and other reviewers quickly get up to speed!

This pull request significantly enhances the project's capabilities by integrating a powerful new research skill, enabling systematic evaluation of external information. Concurrently, it improves system robustness and portability by standardizing skill file naming conventions to prevent potential loading failures across different operating systems.

Highlights

  • New Skill: /research-link: Introduced a new skill that allows for comprehensive research of external links, tools, articles, and concepts, providing decision-oriented assessments (USE/ADAPT/REPLACE/RETHINK/LATER/SKIP verdicts) relevant to the ai-company project.
  • File Renaming for Cross-Platform Compatibility: Renamed all skill.md files to SKILL.md to ensure cross-platform compatibility, addressing issues where lowercase filenames could fail silently on case-sensitive file systems like Linux/macOS.
Changelog
  • .claude/skills/aurelio-review-pr/SKILL.md
    • Renamed skill.md to SKILL.md for case-insensitivity.
  • .claude/skills/post-merge-cleanup/SKILL.md
    • Renamed skill.md to SKILL.md for case-insensitivity.
  • .claude/skills/research-link/SKILL.md
    • Added a new skill definition for /research-link.
Activity
  • No human activity has been recorded on this pull request yet.
Using Gemini Code Assist

The full guide for Gemini Code Assist can be found on our documentation page, here are some quick tips.

Invoking Gemini

You can request assistance from Gemini at any point by creating a comment using either /gemini <command> or @gemini-code-assist <command>. Below is a summary of the supported commands on the current page.

Feature Command Description
Code Review /gemini review Performs a code review for the current pull request in its current state.
Pull Request Summary /gemini summary Provides a summary of the current pull request in its current state.
Comment @gemini-code-assist Responds in comments when explicitly tagged, both in pull request comments and review comments.
Help /gemini help Displays a list of available commands.

Customization

To customize Gemini Code Assist for GitHub experience, repository maintainers can create a configuration file and/or provide a custom code review style guide (such as PEP-8 for Python) by creating and adding files to a .gemini/ folder in the base of the repository. Detailed instructions can be found here.

Limitations & Feedback

Gemini Code Assist may make mistakes. Please leave feedback on any instances where its feedback is incorrect or counter productive. You can react with 👍 and 👎 on @gemini-code-assist comments. If you're interested in giving your feedback about your experience with Gemini Code Assist for Github and other Google products, sign up here.

You can also get AI-powered code generation, chat, as well as code reviews directly in the IDE at no cost with the Gemini Code Assist IDE Extension.

Footnotes

  1. Review the Privacy Notices, Generative AI Prohibited Use Policy, Terms of Service, and learn how to configure Gemini Code Assist in GitHub here. Gemini can make mistakes, so double check it and use code with caution.

Copy link
Copy Markdown
Contributor

@gemini-code-assist gemini-code-assist bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Code Review

This pull request introduces a new research-link skill and standardizes skill filenames to SKILL.md for better cross-platform compatibility. The new skill is well-defined and provides a comprehensive workflow for researching external content.

My review focuses on the new skill definition. I've identified a significant issue with hardcoded, user-specific file paths in the skill's logic for accessing project memory. This will prevent the skill from working for any other user or on any other system. I've left two comments with high severity to address this portability issue. Once these paths are made dynamic, the new skill should be a great addition.

Note: Security Review has been skipped due to the limited scope of the PR.

1. **DESIGN_SPEC.md** — Grep for related sections (memory, providers, communication, agents, etc.)
2. **Source code** — Grep `src/ai_company/` for overlapping implementations or modules
3. **CLAUDE.md** — Check for relevant conventions, decisions, or constraints
4. **Memory files** — Grep `~/.claude/projects/C--Users-Aurelio-ai-company/memory/` for prior research on same or related topics
Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

high

The file path for memory files is hardcoded to a user-specific path (~/.claude/projects/C--Users-Aurelio-ai-company/memory/). This makes the skill non-portable and will fail for other users or on different systems, as their project path and corresponding Claude memory directory will be different.

This path should be determined dynamically. The Claude environment likely provides a variable (e.g., $CLAUDE_PROJECT_DIR or similar) that points to the correct project-specific directory. Please use such a variable to construct the path to the memory files.

Comment on lines +163 to +171
**Always** (regardless of user choice): append a one-liner to `~/.claude/projects/C--Users-Aurelio-ai-company/memory/research-log.md`:

```
| YYYY-MM-DD | [Title](URL) | VERDICT | Relevant areas | One-line summary |
```

Create the file with a header row if it doesn't exist yet.

**If user chooses "Save findings to memory"**: write a detailed file to `~/.claude/projects/C--Users-Aurelio-ai-company/memory/research/` with the full analysis in under 40 lines. Use a slugified filename based on the topic.
Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

high

Similar to the previous comment, the paths for the research log and detailed memory files are hardcoded to a user-specific path (~/.claude/projects/C--Users-Aurelio-ai-company/memory/...). This will cause the skill to fail on any other machine or for any other user.

Please replace the hardcoded path with a dynamic approach, likely using an environment variable provided by the Claude environment to locate the project's memory directory.

@greptile-apps
Copy link
Copy Markdown

greptile-apps bot commented Mar 5, 2026

Greptile Summary

This PR adds the /research-link skill — a 6-phase pipeline for evaluating external content (URLs, tools, concepts) against the ai-company project — and renames all existing skill.md files to SKILL.md for case-sensitive filesystem compatibility. The renames are clean and fully tested; earlier feedback on hardcoded Windows paths has been addressed by using generic project memory directory references.

The new skill is well-structured and clearly decision-oriented. The implementation fixes previously flagged cross-platform issues (Windows-specific memory paths) and the 4-option limit constraint (now properly capped and documented). However, three refinements would improve reliability and security before production use:

  • Missing empty-argument guard (logic): If /research-link is invoked with no arguments, Phase 1 will attempt to classify an empty string against the input-type detection table with no recovery path. An explicit AskUserQuestion fallback should be added.
  • Agent tool listed without usage instructions (style): Agent is the highest-privilege tool in the list (it spawns sub-agents with the full tool set), yet no phase ever explicitly instructs its use. The parallelism goals are achievable with native parallel tool calls. Consider removing it.
  • Research log header not specified (style): The skill instructs the model to create a header row for research-log.md on first write, but never defines what that header should look like — leading to potentially inconsistent log formats across invocations.

Confidence Score: 3/5

  • Safe to merge the file renames; the new skill is functional but has a logic gap (empty-args handling) that will cause runtime errors in certain invocation scenarios.
  • The two skill file renames are completely safe — no content changes and no residual lowercase references. The new research-link skill is well-architected and addresses cross-platform issues noted in earlier feedback. However, it has three issues that should be resolved before the skill is used in production: (1) missing empty-argument guard in Phase 1 (logic bug causing runtime error), (2) Agent tool listed without defined usage patterns (unnecessary privilege escalation), and (3) research-log header format left unspecified (inconsistency risk). The first issue is a functional defect; the other two are design/security concerns.
  • .claude/skills/research-link/SKILL.md — empty-argument guard and Agent tool usage should be addressed before using the skill in production.

Sequence Diagram

sequenceDiagram
    actor User
    participant Skill as research-link skill
    participant Fetch as WebFetch and WebSearch
    participant Codebase as Read and Grep and Glob
    participant Memory as Auto Memory Dir
    participant UI as AskUserQuestion

    User->>Skill: invoke with url or name or concept
    Note over Skill: Phase 1 - Acquire Content
    Skill->>Fetch: primary fetch
    alt fetch fails
        Skill->>Fetch: fallback search
    end
    Skill->>Fetch: supplementary fetches in parallel (max 4)

    Note over Skill: Phase 2 - Extract Core Ideas
    Skill->>Skill: extract technical details and claims

    Note over Skill: Phase 3 - Map to Project
    par parallel cross-reference
        Skill->>Codebase: grep DESIGN_SPEC.md
    and
        Skill->>Codebase: grep src/ai_company
    and
        Skill->>Codebase: read CLAUDE.md and pyproject.toml
    and
        Skill->>Memory: grep prior research notes
    end

    Note over Skill: Phase 4 - Assign Verdicts
    Skill->>Skill: assign USE or ADAPT or REPLACE or RETHINK or LATER or SKIP

    Note over Skill: Phase 5 - Present Results
    Skill->>User: verdicts table and risks and sources

    Note over Skill: Phase 6 - User Decision
    Skill->>UI: ask how to proceed (2 to 4 options)
    UI->>User: show options
    User->>UI: select choice

    alt save findings to memory
        Skill->>Memory: append to research-log.md
        Skill->>Memory: write detailed file to research subdirectory
    else note and move on
        Skill->>Memory: append one-liner to research-log.md
    else act on recommendations
        Skill->>User: follow-up to create issues or implement
    else explore deeper
        Skill->>Fetch: deep-dive on top ADAPT or LATER item
    end
Loading

Last reviewed commit: a20d400

- Glob
- Agent
- AskUserQuestion
- Bash
Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Bash tool is listed but not used

Bash appears in allowed-tools but no phase in the skill actually requires shell execution. All content acquisition uses WebFetch/WebSearch, local file access uses Read/Grep/Glob, and the only shell reference is the optional parenthetical "(or gh api if it's on GitHub)" which is not a required step.

Keeping unused tools unnecessarily widens the privilege surface. Remove Bash from the tool list unless a concrete shell step is added to the instructions.

Prompt To Fix With AI
This is a comment left during a code review.
Path: .claude/skills/research-link/SKILL.md
Line: 14

Comment:
**`Bash` tool is listed but not used**

`Bash` appears in `allowed-tools` but no phase in the skill actually requires shell execution. All content acquisition uses `WebFetch`/`WebSearch`, local file access uses `Read`/`Grep`/`Glob`, and the only shell reference is the optional parenthetical "(or `gh api` if it's on GitHub)" which is not a required step.

Keeping unused tools unnecessarily widens the privilege surface. Remove `Bash` from the tool list unless a concrete shell step is added to the instructions.

How can I resolve this? If you propose a fix, please make it concise.

Copy link
Copy Markdown

Copilot AI left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

Adds a new Claude skill for research/tech-evaluation workflows and standardizes skill documentation filenames to SKILL.md to avoid case-sensitivity issues across filesystems.

Changes:

  • Add /research-link skill with a structured workflow for fetching sources, mapping to the codebase, and producing actionable verdicts.
  • Rename/standardize existing skill docs to SKILL.md (case normalization for cross-platform reliability).
  • Add/refresh operational “post-merge cleanup” and “PR review” skill instructions under the standardized filename.

Reviewed changes

Copilot reviewed 1 out of 3 changed files in this pull request and generated 3 comments.

File Description
.claude/skills/research-link/SKILL.md New research workflow skill (fetch, extract, map to project, verdicts, memory logging).
.claude/skills/post-merge-cleanup/SKILL.md Post-merge local git cleanup instructions under standardized filename.
.claude/skills/aurelio-review-pr/SKILL.md End-to-end PR review pipeline skill under standardized filename.

💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

1. **DESIGN_SPEC.md** — Grep for related sections (memory, providers, communication, agents, etc.)
2. **Source code** — Grep `src/ai_company/` for overlapping implementations or modules
3. **CLAUDE.md** — Check for relevant conventions, decisions, or constraints
4. **Memory files** — Grep `~/.claude/projects/C--Users-Aurelio-ai-company/memory/` for prior research on same or related topics
Copy link

Copilot AI Mar 5, 2026

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

The skill hard-codes a machine-specific Claude project memory path (~/.claude/projects/C--Users-Aurelio-ai-company/...). This will not work for other developers or on non-Windows setups, and conflicts with the repo’s guidance to avoid embedding user-specific absolute paths. Use a project-agnostic way to locate the current project’s memory directory (e.g., derive from the current project name/path or use whatever Claude-provided project env var exists) and reference that instead.

Suggested change
4. **Memory files** — Grep `~/.claude/projects/C--Users-Aurelio-ai-company/memory/` for prior research on same or related topics
4. **Memory files** — Grep this project's Claude memory directory (for example, `~/.claude/projects/<your-project-id>/memory/`) for prior research on the same or related topics

Copilot uses AI. Check for mistakes.
Comment on lines +163 to +172
**Always** (regardless of user choice): append a one-liner to `~/.claude/projects/C--Users-Aurelio-ai-company/memory/research-log.md`:

```
| YYYY-MM-DD | [Title](URL) | VERDICT | Relevant areas | One-line summary |
```

Create the file with a header row if it doesn't exist yet.

**If user chooses "Save findings to memory"**: write a detailed file to `~/.claude/projects/C--Users-Aurelio-ai-company/memory/research/` with the full analysis in under 40 lines. Use a slugified filename based on the topic.

Copy link

Copilot AI Mar 5, 2026

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

These instructions hard-code a per-user Claude memory path for writing the research log and detailed notes. That makes the skill non-portable and likely to fail for anyone whose Claude project directory name differs. Use a project-agnostic memory location (or instructions to compute it) so the skill works on Linux/macOS/Windows without editing paths.

Copilot uses AI. Check for mistakes.
### Verdict Rules

- Every verdict must reference a specific part of the project (module, design section, convention)
- **USE** and **REPLACE** require license check (must be compatible with BUSL-1.1 / Apache 2.0)
Copy link

Copilot AI Mar 5, 2026

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

The license-check rule is underspecified and may not match the repo’s actual dependency license policy (there is an explicit allow-list in the Dependency Review workflow). Consider pointing the skill at the allow-list (and/or CLAUDE.md’s dependency review notes) so recommendations don’t inadvertently approve a license CI will reject, or reject licenses that are actually allowed.

Suggested change
- **USE** and **REPLACE** require license check (must be compatible with BUSL-1.1 / Apache 2.0)
- **USE** and **REPLACE** require a license check against the repo’s official dependency policy (use the Dependency Review workflow’s allow-list and the dependency review notes in `CLAUDE.md`; do not recommend anything CI would reject)

Copilot uses AI. Check for mistakes.
- Replace hardcoded Windows-specific memory paths with generic
  references to the project's auto memory directory (lines 90, 163, 171)
- Collapse Phase 6 action options to stay within AskUserQuestion's
  4-option limit (lines 148-158)
- Improve license check rule to reference repo's dependency review
  allow-list (line 114)

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
@Aureliolo Aureliolo merged commit 651c577 into main Mar 5, 2026
10 of 11 checks passed
@Aureliolo Aureliolo deleted the chore/add-research-link-skill branch March 5, 2026 07:49
- Edit
- Grep
- Glob
- Agent
Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Agent is included in allowed-tools but no phase in the skill ever instructs the model to invoke it. Unlike other tools with explicit usage patterns, Agent spawns sub-agents that inherit the full tool set — making it the highest-privilege tool here. Listing it without defined usage patterns gives the model latitude to spin up arbitrary sub-agents for tasks that could be accomplished with direct parallel tool calls.

The "Launch supplementary fetches in parallel" instruction in Phase 1 and the "Search these in parallel" in Phase 3 are achievable with native parallel tool calls (multiple WebFetch/Grep calls in a single response) — no Agent sub-agent is needed.

Consider removing Agent unless a specific phase explicitly requires multi-turn sub-agent delegation.

Suggested change
- Agent
- AskUserQuestion
Prompt To Fix With AI
This is a comment left during a code review.
Path: .claude/skills/research-link/SKILL.md
Line: 12

Comment:
`Agent` is included in `allowed-tools` but no phase in the skill ever instructs the model to invoke it. Unlike other tools with explicit usage patterns, `Agent` spawns sub-agents that inherit the full tool set — making it the highest-privilege tool here. Listing it without defined usage patterns gives the model latitude to spin up arbitrary sub-agents for tasks that could be accomplished with direct parallel tool calls.

The "Launch supplementary fetches **in parallel**" instruction in Phase 1 and the "Search these in parallel" in Phase 3 are achievable with native parallel tool calls (multiple `WebFetch`/`Grep` calls in a single response) — no `Agent` sub-agent is needed.

Consider removing `Agent` unless a specific phase explicitly requires multi-turn sub-agent delegation.

```suggestion
  - AskUserQuestion
```

How can I resolve this? If you propose a fix, please make it concise.


Research any external content — URL, tool, concept, pasted article, code snippet — and evaluate what it means for the ai-company project. Produces a decision-oriented assessment with concrete verdicts and next-step options.

**Arguments:** "$ARGUMENTS"
Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

If the user invokes /research-link with no arguments, $ARGUMENTS is empty and Phase 1 immediately tries to classify the input — but none of the five rows in the detection table match an empty string. The skill has no recovery path and will likely hallucinate an input type or stall.

Since <url, tool name, concept, or pasted content> is documented as a required argument, add an explicit empty-argument guard before Phase 1:

Suggested change
**Arguments:** "$ARGUMENTS"
**Arguments:** "$ARGUMENTS"
> If `$ARGUMENTS` is empty, use `AskUserQuestion` to ask the user what they want to research (a URL, tool name, concept, or pasted content) before proceeding to Phase 1.
Prompt To Fix With AI
This is a comment left during a code review.
Path: .claude/skills/research-link/SKILL.md
Line: 21

Comment:
If the user invokes `/research-link` with no arguments, `$ARGUMENTS` is empty and Phase 1 immediately tries to classify the input — but none of the five rows in the detection table match an empty string. The skill has no recovery path and will likely hallucinate an input type or stall.

Since `<url, tool name, concept, or pasted content>` is documented as a required argument, add an explicit empty-argument guard before Phase 1:

```suggestion
**Arguments:** "$ARGUMENTS"

> If `$ARGUMENTS` is empty, use `AskUserQuestion` to ask the user what they want to research (a URL, tool name, concept, or pasted content) before proceeding to Phase 1.
```

How can I resolve this? If you propose a fix, please make it concise.

Comment on lines +163 to +168

```
| YYYY-MM-DD | [Title](URL) | VERDICT | Relevant areas | One-line summary |
```

Create the file with a header row if it doesn't exist yet.
Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

The skill says "Create the file with a header row if it doesn't exist yet" but only provides the data row template — it never specifies what the header itself should look like. The model will have to guess, potentially producing inconsistent headers across machines or sessions.

Consider explicitly defining the header:

Suggested change
```
| YYYY-MM-DD | [Title](URL) | VERDICT | Relevant areas | One-line summary |
```
Create the file with a header row if it doesn't exist yet.
**Always** (regardless of user choice): append a one-liner to `research-log.md` in the project's auto memory directory:
Date Source Verdict Relevant Areas Summary

Create the file with the above header row if it doesn't exist yet. Then append the new entry:

| YYYY-MM-DD | Title | VERDICT | Relevant areas | One-line summary |

Prompt To Fix With AI
This is a comment left during a code review.
Path: .claude/skills/research-link/SKILL.md
Line: 163-168

Comment:
The skill says "Create the file with a header row if it doesn't exist yet" but only provides the data row template — it never specifies what the header itself should look like. The model will have to guess, potentially producing inconsistent headers across machines or sessions.

Consider explicitly defining the header:

```suggestion
**Always** (regardless of user choice): append a one-liner to `research-log.md` in the project's auto memory directory:

```
| Date | Source | Verdict | Relevant Areas | Summary |
|------|--------|---------|----------------|---------|
```

Create the file with the above header row if it doesn't exist yet. Then append the new entry:

```
| YYYY-MM-DD | [Title](URL) | VERDICT | Relevant areas | One-line summary |
```
```

How can I resolve this? If you propose a fix, please make it concise.

Aureliolo added a commit that referenced this pull request Mar 10, 2026
🤖 I have created a release *beep* *boop*
---


##
[0.1.1](ai-company-v0.1.0...ai-company-v0.1.1)
(2026-03-10)


### Features

* add autonomy levels and approval timeout policies
([#42](#42),
[#126](#126))
([#197](#197))
([eecc25a](eecc25a))
* add CFO cost optimization service with anomaly detection, reports, and
approval decisions
([#186](#186))
([a7fa00b](a7fa00b))
* add code quality toolchain (ruff, mypy, pre-commit, dependabot)
([#63](#63))
([36681a8](36681a8))
* add configurable cost tiers and subscription/quota-aware tracking
([#67](#67))
([#185](#185))
([9baedfa](9baedfa))
* add container packaging, Docker Compose, and CI pipeline
([#269](#269))
([435bdfe](435bdfe)),
closes [#267](#267)
* add coordination error taxonomy classification pipeline
([#146](#146))
([#181](#181))
([70c7480](70c7480))
* add cost-optimized, hierarchical, and auction assignment strategies
([#175](#175))
([ce924fa](ce924fa)),
closes [#173](#173)
* add design specification, license, and project setup
([8669a09](8669a09))
* add env var substitution and config file auto-discovery
([#77](#77))
([7f53832](7f53832))
* add FastestStrategy routing + vendor-agnostic cleanup
([#140](#140))
([09619cb](09619cb)),
closes [#139](#139)
* add HR engine and performance tracking
([#45](#45),
[#47](#47))
([#193](#193))
([2d091ea](2d091ea))
* add issue auto-search and resolution verification to PR review skill
([#119](#119))
([deecc39](deecc39))
* add memory retrieval, ranking, and context injection pipeline
([#41](#41))
([873b0aa](873b0aa))
* add pluggable MemoryBackend protocol with models, config, and events
([#180](#180))
([46cfdd4](46cfdd4))
* add pluggable MemoryBackend protocol with models, config, and events
([#32](#32))
([46cfdd4](46cfdd4))
* add pluggable PersistenceBackend protocol with SQLite implementation
([#36](#36))
([f753779](f753779))
* add progressive trust and promotion/demotion subsystems
([#43](#43),
[#49](#49))
([3a87c08](3a87c08))
* add retry handler, rate limiter, and provider resilience
([#100](#100))
([b890545](b890545))
* add SecOps security agent with rule engine, audit log, and ToolInvoker
integration ([#40](#40))
([83b7b6c](83b7b6c))
* add shared org memory and memory consolidation/archival
([#125](#125),
[#48](#48))
([4a0832b](4a0832b))
* design unified provider interface
([#86](#86))
([3e23d64](3e23d64))
* expand template presets, rosters, and add inheritance
([#80](#80),
[#81](#81),
[#84](#84))
([15a9134](15a9134))
* implement agent runtime state vs immutable config split
([#115](#115))
([4cb1ca5](4cb1ca5))
* implement AgentEngine core orchestrator
([#11](#11))
([#143](#143))
([f2eb73a](f2eb73a))
* implement basic tool system (registry, invocation, results)
([#15](#15))
([c51068b](c51068b))
* implement built-in file system tools
([#18](#18))
([325ef98](325ef98))
* implement communication foundation — message bus, dispatcher, and
messenger ([#157](#157))
([8e71bfd](8e71bfd))
* implement company template system with 7 built-in presets
([#85](#85))
([cbf1496](cbf1496))
* implement conflict resolution protocol
([#122](#122))
([#166](#166))
([e03f9f2](e03f9f2))
* implement core entity and role system models
([#69](#69))
([acf9801](acf9801))
* implement crash recovery with fail-and-reassign strategy
([#149](#149))
([e6e91ed](e6e91ed))
* implement engine extensions — Plan-and-Execute loop and call
categorization
([#134](#134),
[#135](#135))
([#159](#159))
([9b2699f](9b2699f))
* implement enterprise logging system with structlog
([#73](#73))
([2f787e5](2f787e5))
* implement graceful shutdown with cooperative timeout strategy
([#130](#130))
([6592515](6592515))
* implement hierarchical delegation and loop prevention
([#12](#12),
[#17](#17))
([6be60b6](6be60b6))
* implement LiteLLM driver and provider registry
([#88](#88))
([ae3f18b](ae3f18b)),
closes [#4](#4)
* implement LLM decomposition strategy and workspace isolation
([#174](#174))
([aa0eefe](aa0eefe))
* implement meeting protocol system
([#123](#123))
([ee7caca](ee7caca))
* implement message and communication domain models
([#74](#74))
([560a5d2](560a5d2))
* implement model routing engine
([#99](#99))
([d3c250b](d3c250b))
* implement parallel agent execution
([#22](#22))
([#161](#161))
([65940b3](65940b3))
* implement per-call cost tracking service
([#7](#7))
([#102](#102))
([c4f1f1c](c4f1f1c))
* implement personality injection and system prompt construction
([#105](#105))
([934dd85](934dd85))
* implement single-task execution lifecycle
([#21](#21))
([#144](#144))
([c7e64e4](c7e64e4))
* implement subprocess sandbox for tool execution isolation
([#131](#131))
([#153](#153))
([3c8394e](3c8394e))
* implement task assignment subsystem with pluggable strategies
([#172](#172))
([c7f1b26](c7f1b26)),
closes [#26](#26)
[#30](#30)
* implement task decomposition and routing engine
([#14](#14))
([9c7fb52](9c7fb52))
* implement Task, Project, Artifact, Budget, and Cost domain models
([#71](#71))
([81eabf1](81eabf1))
* implement tool permission checking
([#16](#16))
([833c190](833c190))
* implement YAML config loader with Pydantic validation
([#59](#59))
([ff3a2ba](ff3a2ba))
* implement YAML config loader with Pydantic validation
([#75](#75))
([ff3a2ba](ff3a2ba))
* initialize project with uv, hatchling, and src layout
([39005f9](39005f9))
* initialize project with uv, hatchling, and src layout
([#62](#62))
([39005f9](39005f9))
* Litestar REST API, WebSocket feed, and approval queue (M6)
([#189](#189))
([29fcd08](29fcd08))
* make TokenUsage.total_tokens a computed field
([#118](#118))
([c0bab18](c0bab18)),
closes [#109](#109)
* parallel tool execution in ToolInvoker.invoke_all
([#137](#137))
([58517ee](58517ee))
* testing framework, CI pipeline, and M0 gap fixes
([#64](#64))
([f581749](f581749))
* wire all modules into observability system
([#97](#97))
([f7a0617](f7a0617))


### Bug Fixes

* address Greptile post-merge review findings from PRs
[#170](https://github.com/Aureliolo/ai-company/issues/170)-[#175](https://github.com/Aureliolo/ai-company/issues/175)
([#176](#176))
([c5ca929](c5ca929))
* address post-merge review feedback from PRs
[#164](https://github.com/Aureliolo/ai-company/issues/164)-[#167](https://github.com/Aureliolo/ai-company/issues/167)
([#170](#170))
([3bf897a](3bf897a)),
closes [#169](#169)
* enforce strict mypy on test files
([#89](#89))
([aeeff8c](aeeff8c))
* harden Docker sandbox, MCP bridge, and code runner
([#50](#50),
[#53](#53))
([d5e1b6e](d5e1b6e))
* harden git tools security + code quality improvements
([#150](#150))
([000a325](000a325))
* harden subprocess cleanup, env filtering, and shutdown resilience
([#155](#155))
([d1fe1fb](d1fe1fb))
* incorporate post-merge feedback + pre-PR review fixes
([#164](#164))
([c02832a](c02832a))
* pre-PR review fixes for post-merge findings
([#183](#183))
([26b3108](26b3108))
* strengthen immutability for BaseTool schema and ToolInvoker boundaries
([#117](#117))
([7e5e861](7e5e861))


### Performance

* harden non-inferable principle implementation
([#195](#195))
([02b5f4e](02b5f4e)),
closes [#188](#188)


### Refactoring

* adopt NotBlankStr across all models
([#108](#108))
([#120](#120))
([ef89b90](ef89b90))
* extract _SpendingTotals base class from spending summary models
([#111](#111))
([2f39c1b](2f39c1b))
* harden BudgetEnforcer with error handling, validation extraction, and
review fixes
([#182](#182))
([c107bf9](c107bf9))
* harden personality profiles, department validation, and template
rendering ([#158](#158))
([10b2299](10b2299))
* pre-PR review improvements for ExecutionLoop + ReAct loop
([#124](#124))
([8dfb3c0](8dfb3c0))
* split events.py into per-domain event modules
([#136](#136))
([e9cba89](e9cba89))


### Documentation

* add ADR-001 memory layer evaluation and selection
([#178](#178))
([db3026f](db3026f)),
closes [#39](#39)
* add agent scaling research findings to DESIGN_SPEC
([#145](#145))
([57e487b](57e487b))
* add CLAUDE.md, contributing guide, and dev documentation
([#65](#65))
([55c1025](55c1025)),
closes [#54](#54)
* add crash recovery, sandboxing, analytics, and testing decisions
([#127](#127))
([5c11595](5c11595))
* address external review feedback with MVP scope and new protocols
([#128](#128))
([3b30b9a](3b30b9a))
* expand design spec with pluggable strategy protocols
([#121](#121))
([6832db6](6832db6))
* finalize 23 design decisions (ADR-002)
([#190](#190))
([8c39742](8c39742))
* update project docs for M2.5 conventions and add docs-consistency
review agent
([#114](#114))
([99766ee](99766ee))


### Tests

* add e2e single agent integration tests
([#24](#24))
([#156](#156))
([f566fb4](f566fb4))
* add provider adapter integration tests
([#90](#90))
([40a61f4](40a61f4))


### CI/CD

* add Release Please for automated versioning and GitHub Releases
([#278](#278))
([a488758](a488758))
* bump actions/checkout from 4 to 6
([#95](#95))
([1897247](1897247))
* bump actions/upload-artifact from 4 to 7
([#94](#94))
([27b1517](27b1517))
* harden CI/CD pipeline
([#92](#92))
([ce4693c](ce4693c))
* split vulnerability scans into critical-fail and high-warn tiers
([#277](#277))
([aba48af](aba48af))


### Maintenance

* add /worktree skill for parallel worktree management
([#171](#171))
([951e337](951e337))
* add design spec context loading to research-link skill
([8ef9685](8ef9685))
* add post-merge-cleanup skill
([#70](#70))
([f913705](f913705))
* add pre-pr-review skill and update CLAUDE.md
([#103](#103))
([92e9023](92e9023))
* add research-link skill and rename skill files to SKILL.md
([#101](#101))
([651c577](651c577))
* bump aiosqlite from 0.21.0 to 0.22.1
([#191](#191))
([3274a86](3274a86))
* bump pyyaml from 6.0.2 to 6.0.3 in the minor-and-patch group
([#96](#96))
([0338d0c](0338d0c))
* bump ruff from 0.15.4 to 0.15.5
([a49ee46](a49ee46))
* fix M0 audit items
([#66](#66))
([c7724b5](c7724b5))
* pin setup-uv action to full SHA
([#281](#281))
([4448002](4448002))
* post-audit cleanup — PEP 758, loggers, bug fixes, refactoring, tests,
hookify rules
([#148](#148))
([c57a6a9](c57a6a9))

---
This PR was generated with [Release
Please](https://github.com/googleapis/release-please). See
[documentation](https://github.com/googleapis/release-please#release-please).
Aureliolo added a commit that referenced this pull request Mar 11, 2026
🤖 I have created a release *beep* *boop*
---


##
[0.1.0](v0.0.0...v0.1.0)
(2026-03-11)


### Features

* add autonomy levels and approval timeout policies
([#42](#42),
[#126](#126))
([#197](#197))
([eecc25a](eecc25a))
* add CFO cost optimization service with anomaly detection, reports, and
approval decisions
([#186](#186))
([a7fa00b](a7fa00b))
* add code quality toolchain (ruff, mypy, pre-commit, dependabot)
([#63](#63))
([36681a8](36681a8))
* add configurable cost tiers and subscription/quota-aware tracking
([#67](#67))
([#185](#185))
([9baedfa](9baedfa))
* add container packaging, Docker Compose, and CI pipeline
([#269](#269))
([435bdfe](435bdfe)),
closes [#267](#267)
* add coordination error taxonomy classification pipeline
([#146](#146))
([#181](#181))
([70c7480](70c7480))
* add cost-optimized, hierarchical, and auction assignment strategies
([#175](#175))
([ce924fa](ce924fa)),
closes [#173](#173)
* add design specification, license, and project setup
([8669a09](8669a09))
* add env var substitution and config file auto-discovery
([#77](#77))
([7f53832](7f53832))
* add FastestStrategy routing + vendor-agnostic cleanup
([#140](#140))
([09619cb](09619cb)),
closes [#139](#139)
* add HR engine and performance tracking
([#45](#45),
[#47](#47))
([#193](#193))
([2d091ea](2d091ea))
* add issue auto-search and resolution verification to PR review skill
([#119](#119))
([deecc39](deecc39))
* add mandatory JWT + API key authentication
([#256](#256))
([c279cfe](c279cfe))
* add memory retrieval, ranking, and context injection pipeline
([#41](#41))
([873b0aa](873b0aa))
* add pluggable MemoryBackend protocol with models, config, and events
([#180](#180))
([46cfdd4](46cfdd4))
* add pluggable MemoryBackend protocol with models, config, and events
([#32](#32))
([46cfdd4](46cfdd4))
* add pluggable output scan response policies
([#263](#263))
([b9907e8](b9907e8))
* add pluggable PersistenceBackend protocol with SQLite implementation
([#36](#36))
([f753779](f753779))
* add progressive trust and promotion/demotion subsystems
([#43](#43),
[#49](#49))
([3a87c08](3a87c08))
* add retry handler, rate limiter, and provider resilience
([#100](#100))
([b890545](b890545))
* add SecOps security agent with rule engine, audit log, and ToolInvoker
integration ([#40](#40))
([83b7b6c](83b7b6c))
* add shared org memory and memory consolidation/archival
([#125](#125),
[#48](#48))
([4a0832b](4a0832b))
* design unified provider interface
([#86](#86))
([3e23d64](3e23d64))
* expand template presets, rosters, and add inheritance
([#80](#80),
[#81](#81),
[#84](#84))
([15a9134](15a9134))
* implement agent runtime state vs immutable config split
([#115](#115))
([4cb1ca5](4cb1ca5))
* implement AgentEngine core orchestrator
([#11](#11))
([#143](#143))
([f2eb73a](f2eb73a))
* implement AuditRepository for security audit log persistence
([#279](#279))
([94bc29f](94bc29f))
* implement basic tool system (registry, invocation, results)
([#15](#15))
([c51068b](c51068b))
* implement built-in file system tools
([#18](#18))
([325ef98](325ef98))
* implement communication foundation — message bus, dispatcher, and
messenger ([#157](#157))
([8e71bfd](8e71bfd))
* implement company template system with 7 built-in presets
([#85](#85))
([cbf1496](cbf1496))
* implement conflict resolution protocol
([#122](#122))
([#166](#166))
([e03f9f2](e03f9f2))
* implement core entity and role system models
([#69](#69))
([acf9801](acf9801))
* implement crash recovery with fail-and-reassign strategy
([#149](#149))
([e6e91ed](e6e91ed))
* implement engine extensions — Plan-and-Execute loop and call
categorization
([#134](#134),
[#135](#135))
([#159](#159))
([9b2699f](9b2699f))
* implement enterprise logging system with structlog
([#73](#73))
([2f787e5](2f787e5))
* implement graceful shutdown with cooperative timeout strategy
([#130](#130))
([6592515](6592515))
* implement hierarchical delegation and loop prevention
([#12](#12),
[#17](#17))
([6be60b6](6be60b6))
* implement LiteLLM driver and provider registry
([#88](#88))
([ae3f18b](ae3f18b)),
closes [#4](#4)
* implement LLM decomposition strategy and workspace isolation
([#174](#174))
([aa0eefe](aa0eefe))
* implement meeting protocol system
([#123](#123))
([ee7caca](ee7caca))
* implement message and communication domain models
([#74](#74))
([560a5d2](560a5d2))
* implement model routing engine
([#99](#99))
([d3c250b](d3c250b))
* implement parallel agent execution
([#22](#22))
([#161](#161))
([65940b3](65940b3))
* implement per-call cost tracking service
([#7](#7))
([#102](#102))
([c4f1f1c](c4f1f1c))
* implement personality injection and system prompt construction
([#105](#105))
([934dd85](934dd85))
* implement single-task execution lifecycle
([#21](#21))
([#144](#144))
([c7e64e4](c7e64e4))
* implement subprocess sandbox for tool execution isolation
([#131](#131))
([#153](#153))
([3c8394e](3c8394e))
* implement task assignment subsystem with pluggable strategies
([#172](#172))
([c7f1b26](c7f1b26)),
closes [#26](#26)
[#30](#30)
* implement task decomposition and routing engine
([#14](#14))
([9c7fb52](9c7fb52))
* implement Task, Project, Artifact, Budget, and Cost domain models
([#71](#71))
([81eabf1](81eabf1))
* implement tool permission checking
([#16](#16))
([833c190](833c190))
* implement YAML config loader with Pydantic validation
([#59](#59))
([ff3a2ba](ff3a2ba))
* implement YAML config loader with Pydantic validation
([#75](#75))
([ff3a2ba](ff3a2ba))
* initialize project with uv, hatchling, and src layout
([39005f9](39005f9))
* initialize project with uv, hatchling, and src layout
([#62](#62))
([39005f9](39005f9))
* Litestar REST API, WebSocket feed, and approval queue (M6)
([#189](#189))
([29fcd08](29fcd08))
* make TokenUsage.total_tokens a computed field
([#118](#118))
([c0bab18](c0bab18)),
closes [#109](#109)
* parallel tool execution in ToolInvoker.invoke_all
([#137](#137))
([58517ee](58517ee))
* testing framework, CI pipeline, and M0 gap fixes
([#64](#64))
([f581749](f581749))
* wire all modules into observability system
([#97](#97))
([f7a0617](f7a0617))


### Bug Fixes

* address Greptile post-merge review findings from PRs
[#170](https://github.com/Aureliolo/ai-company/issues/170)-[#175](https://github.com/Aureliolo/ai-company/issues/175)
([#176](#176))
([c5ca929](c5ca929))
* address post-merge review feedback from PRs
[#164](https://github.com/Aureliolo/ai-company/issues/164)-[#167](https://github.com/Aureliolo/ai-company/issues/167)
([#170](#170))
([3bf897a](3bf897a)),
closes [#169](#169)
* enforce strict mypy on test files
([#89](#89))
([aeeff8c](aeeff8c))
* harden Docker sandbox, MCP bridge, and code runner
([#50](#50),
[#53](#53))
([d5e1b6e](d5e1b6e))
* harden git tools security + code quality improvements
([#150](#150))
([000a325](000a325))
* harden subprocess cleanup, env filtering, and shutdown resilience
([#155](#155))
([d1fe1fb](d1fe1fb))
* incorporate post-merge feedback + pre-PR review fixes
([#164](#164))
([c02832a](c02832a))
* pre-PR review fixes for post-merge findings
([#183](#183))
([26b3108](26b3108))
* resolve circular imports, bump litellm, fix release tag format
([#286](#286))
([a6659b5](a6659b5))
* strengthen immutability for BaseTool schema and ToolInvoker boundaries
([#117](#117))
([7e5e861](7e5e861))


### Performance

* harden non-inferable principle implementation
([#195](#195))
([02b5f4e](02b5f4e)),
closes [#188](#188)


### Refactoring

* adopt NotBlankStr across all models
([#108](#108))
([#120](#120))
([ef89b90](ef89b90))
* extract _SpendingTotals base class from spending summary models
([#111](#111))
([2f39c1b](2f39c1b))
* harden BudgetEnforcer with error handling, validation extraction, and
review fixes
([#182](#182))
([c107bf9](c107bf9))
* harden personality profiles, department validation, and template
rendering ([#158](#158))
([10b2299](10b2299))
* pre-PR review improvements for ExecutionLoop + ReAct loop
([#124](#124))
([8dfb3c0](8dfb3c0))
* split events.py into per-domain event modules
([#136](#136))
([e9cba89](e9cba89))


### Documentation

* add ADR-001 memory layer evaluation and selection
([#178](#178))
([db3026f](db3026f)),
closes [#39](#39)
* add agent scaling research findings to DESIGN_SPEC
([#145](#145))
([57e487b](57e487b))
* add CLAUDE.md, contributing guide, and dev documentation
([#65](#65))
([55c1025](55c1025)),
closes [#54](#54)
* add crash recovery, sandboxing, analytics, and testing decisions
([#127](#127))
([5c11595](5c11595))
* address external review feedback with MVP scope and new protocols
([#128](#128))
([3b30b9a](3b30b9a))
* expand design spec with pluggable strategy protocols
([#121](#121))
([6832db6](6832db6))
* finalize 23 design decisions (ADR-002)
([#190](#190))
([8c39742](8c39742))
* update project docs for M2.5 conventions and add docs-consistency
review agent
([#114](#114))
([99766ee](99766ee))


### Tests

* add e2e single agent integration tests
([#24](#24))
([#156](#156))
([f566fb4](f566fb4))
* add provider adapter integration tests
([#90](#90))
([40a61f4](40a61f4))


### CI/CD

* add Release Please for automated versioning and GitHub Releases
([#278](#278))
([a488758](a488758))
* bump actions/checkout from 4 to 6
([#95](#95))
([1897247](1897247))
* bump actions/upload-artifact from 4 to 7
([#94](#94))
([27b1517](27b1517))
* bump anchore/scan-action from 6.5.1 to 7.3.2
([#271](#271))
([80a1c15](80a1c15))
* bump docker/build-push-action from 6.19.2 to 7.0.0
([#273](#273))
([dd0219e](dd0219e))
* bump docker/login-action from 3.7.0 to 4.0.0
([#272](#272))
([33d6238](33d6238))
* bump docker/metadata-action from 5.10.0 to 6.0.0
([#270](#270))
([baee04e](baee04e))
* bump docker/setup-buildx-action from 3.12.0 to 4.0.0
([#274](#274))
([5fc06f7](5fc06f7))
* bump sigstore/cosign-installer from 3.9.1 to 4.1.0
([#275](#275))
([29dd16c](29dd16c))
* harden CI/CD pipeline
([#92](#92))
([ce4693c](ce4693c))
* split vulnerability scans into critical-fail and high-warn tiers
([#277](#277))
([aba48af](aba48af))


### Maintenance

* add /worktree skill for parallel worktree management
([#171](#171))
([951e337](951e337))
* add design spec context loading to research-link skill
([8ef9685](8ef9685))
* add post-merge-cleanup skill
([#70](#70))
([f913705](f913705))
* add pre-pr-review skill and update CLAUDE.md
([#103](#103))
([92e9023](92e9023))
* add research-link skill and rename skill files to SKILL.md
([#101](#101))
([651c577](651c577))
* bump aiosqlite from 0.21.0 to 0.22.1
([#191](#191))
([3274a86](3274a86))
* bump pyyaml from 6.0.2 to 6.0.3 in the minor-and-patch group
([#96](#96))
([0338d0c](0338d0c))
* bump ruff from 0.15.4 to 0.15.5
([a49ee46](a49ee46))
* fix M0 audit items
([#66](#66))
([c7724b5](c7724b5))
* **main:** release ai-company 0.1.1
([#282](#282))
([2f4703d](2f4703d))
* pin setup-uv action to full SHA
([#281](#281))
([4448002](4448002))
* post-audit cleanup — PEP 758, loggers, bug fixes, refactoring, tests,
hookify rules
([#148](#148))
([c57a6a9](c57a6a9))

---
This PR was generated with [Release
Please](https://github.com/googleapis/release-please). See
[documentation](https://github.com/googleapis/release-please#release-please).

---------

Signed-off-by: Aurelio <19254254+Aureliolo@users.noreply.github.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants