Another issue is different semantics of SCR Service annotation 
(https://felix.apache.org/documentation/subprojects/apache-felix-maven-scr-plugin/scr-annotations.html#_service)
 and the service element in the OSGi DS Component annotation 
(https://docs.osgi.org/specification/osgi.cmpn/7.0.0/service.component.html#org.osgi.service.component.annotations.Component.service--).
The former always registers implicitly all interfaces (no matter if 
transitively or directly declared) while the latter only takes into account 
direct ones by default.
Not sure if this requires adaptations to the Python script or just 
clarification in the SKILLS.md is enough….

Konrad

> On 8. May 2026, at 21:49, Konrad Windszus <[email protected]> wrote:
> 
> I just tried the scr migration skill with 
> https://github.com/Adobe-Consulting-Services/acs-aem-commons/tree/master/bundle
>  and for example 
> 
> @SlingServlet(
>        methods = {HttpConstants.METHOD_GET},
>        resourceTypes = {"acs-commons/components/utilities/audit-log-search"},
>        selectors = {"auditlogsearch"},
>        extensions = {"json"})
> 
> (https://github.com/Adobe-Consulting-Services/acs-aem-commons/blob/165e4fd09f17dbb6ee919c11dabe53b96a735061/bundle/src/main/java/com/adobe/acs/commons/audit_log_search/impl/AuditLogSearchServlet.java#L51-L55)
> 
> was converted to 
> 
> @Component(service = Servlet.class)
> @SlingServletResourceTypes(
> resourceTypes = "acs-commons/components/utilities/audit-log-search",
> selectors = "auditlogsearch",
> extensions = "json",
> methods = "HttpConstants.METHOD_GET”
> )
> 
> Seems that 
> https://github.com/apache/sling-whiteboard/blob/master/skills/osgi-scr-migrator/scripts/migrate_annotations.py
>  does not properly deal with non-literal annotation elements yet (like in 
> methods.
> 
> Thanks,
> Konrad
> 
> 
> 
>> On 8. May 2026, at 20:54, Konrad Windszus <[email protected]> wrote:
>> 
>> Great, thanks a lot for that.
>> I am just wondering if this statement from the README is actually correct:
>> 
>> “**Java 17+** - Required for compiling the migrated code (OSGi R6/R7 
>> annotations require Java 17+)"
>> https://github.com/apache/sling-whiteboard/blob/c2ad0487b498c2a30ba96f780ee3818bb421c3dc/skills/osgi-scr-migrator/README.md?plain=1#L55
>> 
>> IMHO OSGi R7 Metatype/DS annotations are fully compliant with Java 8 or am I 
>> missing something?
>> Thanks,
>> Konrad
>> 
>> 
>>> On 30. Apr 2026, at 07:30, Carsten Ziegeler <[email protected]> wrote:
>>> 
>>> I added the missing instructions to the existing parent update skill and 
>>> also added my scr migration skill
>>> 
>>> Regards
>>> Carsten
>>> 
>>> On 4/24/2026 1:14 PM, Robert Munteanu wrote:
>>>> On Fri, 2026-04-24 at 06:33 +0200, Carsten Ziegeler wrote:
>>>>> Definitely interesting.
>>>>> 
>>>>> As you might have noticed, I wrote a tool which can perform such
>>>>> actions
>>>>> like updating the parent pom across a large selection of repositories
>>>>> using a coding agent.
>>>> Yes, I noticed the results :-)
>>>>> 
>>>>> I have also some skills flying around for the SCR annotation
>>>>> migration
>>>>> and parent pom updates :)
>>>>> 
>>>>> Maybe we can combine these into one. I'll have a look in the next
>>>>> days.
>>>> I think that would be very useful. I definitely did not cover a lot of
>>>> repos during testing with the current skills and would be happy for any
>>>> enhancements.
>>>> Thanks,
>>>> Robert
>>>>> 
>>>>> Regards
>>>>> Carsten
>>>>> 
>>>>> On 4/23/2026 5:35 PM, Robert Munteanu wrote:
>>>>>> On Fri, 2026-04-17 at 18:32 +0200, Robert Munteanu wrote:
>>>>>>> Hi,
>>>>>>> 
>>>>>>> Updating the parent pom version in Sling modules is one task that
>>>>>>> usually gets left behind. We have many modules, the work is not
>>>>>>> that
>>>>>>> rewarding and sometimes very tedious - for instance migrating
>>>>>>> from
>>>>>>> the
>>>>>>> Felix SCR annotations to the official OSGi ones.
>>>>>>> 
>>>>>>> To make things simpler I have started an experiment in the
>>>>>>> whiteboard
>>>>>>> -
>>>>>>> using agent skills [1] to upgrade the parent pom version.
>>>>>> 
>>>>>> I extended the experiment and created a tiny evaluation harness for
>>>>>> agent skills at [3] based on the Inpect framework [4].
>>>>>> 
>>>>>> I did some measurements of the skill and tried to answer some
>>>>>> questions
>>>>>> around efficiency and cost; captured the raw data at [5]:
>>>>>> 
>>>>>> 1. Is the free variant gpt-oss-120b from openrouter good enough?
>>>>>> 
>>>>>> With skills it is good enough - sometimes better than haiku-4.5
>>>>>> from
>>>>>> Amazon Bedrock.
>>>>>> 
>>>>>> 2. How big is the difference between haiku-4.5 and sonnet-4.5?
>>>>>> 
>>>>>> With skills the success rate is almost the same - haiku missed 1/15
>>>>>> of
>>>>>> the evals. But Sonnet ends up being almost 3.x more expensive.
>>>>>> 
>>>>>> 3. How good is Claude Sonnet with or without skills?
>>>>>> 
>>>>>> The skills make all the difference.
>>>>>> 
>>>>>> Without skills Sonnet can only perform basic upgrades (100%) but it
>>>>>> fails in more complex cases:
>>>>>> - 20% success rate if the rat checks fail after upgrade
>>>>>> - 0% success rate if the build fails because of relocated
>>>>>> dependencies
>>>>>> (OSGi R6)
>>>>>> 
>>>>>> With skills Sonnet passes all 15 tests.
>>>>>> 
>>>>>> [1]: https://agentskills.io/
>>>>>> [2]: https://github.com/apache/sling-whiteboard/tree/master/skills/
>>>>>> [3]:
>>>>>> https://github.com/apache/sling-whiteboard/tree/master/skill-evals
>>>>>> [4]: https://inspect.aisi.org.uk/
>>>>>> [5]:
>>>>>> https://gist.github.com/rombert/c099c13013fbdf27445816c976005aba
>>> 
>>> -- 
>>> Carsten Ziegeler
>>> Adobe
>>> [email protected]
>>> 
>>> 
>> 
> 
> 

Reply via email to